/**
 * @interface request请求接口
 */
interface Parameter {
  method: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | undefined,
  url: string,
  data: {
    id?: string,
    [key: string]: string | number | undefined,
  },
  header?: any,
  [key: string]: boolean | object | string | undefined,
};
/**
 * @interface GetUserInfo接口
 */
interface UserInfo {
  name: string,
  phone: string,
  idNum: string,
  id_flag: "student" | "teacher" | "parent" | string,
  [key: string]: string,
}
/**
 * @interface getOpenId接口
 */
interface OpenId {
  code: string,
  [key: string]: string,
}
/**
 * @interface GetCourse接口
 */
interface Course {
  keyword: string | '',
  province: string,
  city: string,
  start_time: string,
  end_time: string,
  activeStatus: Array<'未开始报名' | '已开始报名' | '活动未开始' | '活动进行中' | '活动已结束'> | '',
  duration: '短途' | '长途' | '',
  type: Array<'亲子活动' | '研学课程' | '冬夏令营'> | '',
  [key: string]: any
}
/**
 * @interface 学生课程报名接口
 */
interface StudentInfo {
  userid: string,
  courseid: string,
  username: string,
  more_file: string,
  [key: string]: string
}
/**
 * @interface 获取订单信息接口
 */
interface OrderDetail {
  id: string,
  modelName: string,
  [key: string]: string
}
/**
 * @interface 学生/家长获取我的报名接口
 */
interface MyApply {
  identity: string,
  id: string,
  [key: string]: string,
}
/**
 * @interface 更新一条订单信息接口
 */
interface OneOrder {
  id: string, // 订单号
  payState: string, // 支付状态
  status: string, // 订单状态
  [key : string]: string,
}
/**
 * @interface 支付接口
 */
interface Payment {
  lowOrderId: string, //后台雪花算法生成的下游订单号
  payMoney: string, //支付金额
  body: string, //商品描述
  notifyUrl: string, //回调地址
  isMinipg: 1, //是否是小程序
  openId: string, //openId
  [key: string]: string | any,
}
/**
 * @interface 匹配支付订单
 */
interface PayOrder {
  lowOrderId: string,
  status: "SUCCESS",
  key: string,
  upOrderId: string, //后台雪花算法生成的上游订单号
  [key: string]: string
}
/**
 * @interface 获取活动行程接口
 */
interface DailyDetail {
  userid: string, // 用户ID
  modelName: string, // 表识别名
  [key: string]: string,
}
/**
 * @interface 上传位置信息
 */
interface Location {
  userid: string;
  courseid: string;
  longitude: number;
  latitude: number;
  [key: string]: number | string;
}
/**
 * @interface 孩子绑定父母接口
 */
interface KidParent {
  id: string, // 孩子id
  pid: string, // 父母id
  [key: string]: string
}
/**
 * @interface 活动报名密码验证
 */
interface CourseApply {
  courseid: string, // 课程id
  password: string, // 密码
  [key: string]: string
}
/**
 * @interface 导师报名接口
 */
interface TeacherInfo {
  userid: string, // 导师id
  courseid: string, // 课程id
  username: string, // 用户名
  grade?: string, // 年级
  class?: string, // 班级
  [key: string]: string | undefined,
}
/**
 * @function 获取出行人图片材料
 */
interface MoreImg {
  id: string, // 订单信息
  modelName: 'SignList' | 'TeaSignList', // 类别
  [key: string]: string,
}
export {
  Parameter,
  UserInfo,
  OpenId,
  Course,
  StudentInfo,
  OrderDetail,
  MyApply,
  OneOrder,
  Payment,
  PayOrder,
  DailyDetail,
  Location,
  KidParent,
  CourseApply,
  TeacherInfo,
  MoreImg
}